package lib.bone.nepudata.domain.dto.award;

import com.fasterxml.jackson.annotation.JsonFormat;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lib.bone.access.validator.IsGrade;
import lombok.Data;

import javax.validation.constraints.NotBlank;
import javax.validation.constraints.NotEmpty;
import javax.validation.constraints.NotNull;
import java.util.Date;
import java.util.List;

/**
 * @author: kindear
 */
@Data
@ApiModel("教学科研获奖新增DTO")
public class NepuAwardAddDTO {

    @NotBlank(message = "词典ID不可为空")
    @ApiModelProperty(value = "奖励词典ID",notes = "")
    String awardDictId;

    /**
     * 我校署名单位等级：一、二、三
     */
    @IsGrade
    @ApiModelProperty(value = "我校署名单位等级")
    String signatureGrade;

    @ApiModelProperty(value = "获奖内容名称",notes = "")
    String awardName;

    /**
     * 负责人姓名
     */
    @NotBlank(message = "负责人姓名不可为空")
    @ApiModelProperty(value = "负责人",notes = "")
    String leader;

    /**
     * 负责人ID
     */
    @NotNull(message = "负责人ID不可为空")
    @ApiModelProperty(value = "负责人ID",notes = "")
    Long leaderId;

    /**
     * 获奖日期
     */
    @ApiModelProperty(value = "获奖日期",notes = "获奖日期，如2021/11/16")
    @JsonFormat(pattern="yyyy-MM-dd",timezone = "GMT+8")
    Date awardDate;

    /**
     * 参与成员ID列表
     */

//    @NotEmpty(message = "参与成员ID列表不可为空")
    @ApiModelProperty(value = "参与成员ID列表",notes = "")
    List<Long> userIdList;

    @NotEmpty(message = "关联文件不可为空")
    @ApiModelProperty(value = "关联文件ID列表")
    List<String> fileIds;

    @ApiModelProperty(value = "指定部门ID")
    Long deptId;

    @ApiModelProperty(value = "指定部门名称")
    String deptName;
}
